home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / games / nhak_src.zip / MAKEFILE.TCC < prev    next >
Text File  |  1993-03-16  |  16KB  |  539 lines

  1. #    SCCS Id: @(#)Makefile.tcc    3.0    89/11/20
  2. #    PC NetHack 3.0 Makefile for Turbo C 2.0
  3. #    Perpetrator: Mike Threepoint, 890707
  4.  
  5. ###
  6. ### Locals
  7. ###
  8. # the name of the game
  9. GAME    = nethack
  10.  
  11. # the place of the game
  12. GAMEDIR = \games\$(GAME)
  13.  
  14. # the filename of the game
  15. GAMEFILE = $(GAMEDIR)\$(GAME).exe
  16.  
  17.  
  18. ###
  19. ### Directories
  20. ###
  21. # makedefs.c hardcodes the include and auxil directories, don't change them.
  22. OBJ    = o
  23. INCL    = ..\include
  24. AUX    = ..\auxil
  25. SRC    = ..\src
  26. OTHERS    = ..\others
  27.  
  28. # where the Turbo C libraries are kept
  29. LIB     = \turbo\c\lib
  30.  
  31. # directory NDMAKE uses for temporary files
  32. MAKE_TMP = $(TMP)
  33.  
  34.  
  35. ###
  36. ### Compiler
  37. ###
  38. CC    = tcc
  39.  
  40. # must use Huge model; Large is limited to 64K total global data.
  41. MODEL   = h
  42.  
  43. # signed chars, jump optimize, strict ANSI, register optimize, no stack frame
  44. CFLAGS    = -c -no -m$(MODEL) -I$(INCL) -K- -O -A -Z -k- -w-pia -w-pro $(WIZARD)
  45. ## Note: Turbo C 2.0's -Z is bugged.  If you have weird problems, try -Z-.
  46.  
  47. # wizardly defines
  48. WIZARD  =
  49.  
  50. # linkers
  51. TLINK    = tlink
  52. LINK    = link
  53. ## There is a bug in TLINK and huge model:
  54. ##
  55. ## TLINK 1.0 treated huge like large, with 64K data limit.
  56. ## TLINK 1.1 fixed that, but chokes over huge data segments anyway.
  57. ## TLINK 2.0 links and is smaller than LINK /EXEPACK, but for some
  58. ## reason with too many objects it produces a file that freaks out
  59. ## and hangs the system.
  60. ##
  61. ## Also note:
  62. ##
  63. ## Using /EXEPACK with LINK will greatly reduce the size of the
  64. ## executable (about 50K), it will also greatly increase the memory
  65. ## required to load it (about 20K).
  66.  
  67. LIBS    = $(LIB)\c$(MODEL)
  68. # no need to link in the floating point library
  69. C0    = $(LIB)\c0$(MODEL).obj
  70.  
  71. LFLAGS    = /noi /seg:1024
  72. TLFLAGS = /x/c
  73.  
  74. # assembler
  75. ASM    = tasm
  76. AFLAGS    = /MX
  77.  
  78. # yacc/lex
  79. YACC    = bison
  80. LEX    = flex
  81.  
  82.  
  83. ###
  84. ### Rules
  85. ###
  86. # search order
  87. .SUFFIXES: .exe .obj .c .asm .y .l
  88.  
  89. # .l -> .c (for flex)
  90. .l.c:
  91.     $(LEX) $<
  92.     del $@
  93.     ren lex.yyc $@
  94. # .y -> .c (for bison)
  95. .y.c:
  96.     $(YACC) $<
  97.     del $@
  98.     ren y.tbc $@
  99.     del $*.h
  100.     ren y.tbh $*.h
  101. # .c -> .obj
  102. .c.obj:
  103.     $(CC) $(CFLAGS) -c $<
  104. # .asm -> .obj
  105. .asm.obj:
  106.     $(ASM) $(AFLAGS) $<;
  107. # .obj -> .exe (for tlink)
  108. .obj.exe:
  109.     $(TLINK) $(TLFLAGS) $(C0) $<, $@,, $(LIBS);
  110.  
  111. # NDMAKE automatic response file generation
  112. .RESPONSE_LINK: tlink
  113. .RESPONSE_LIB:  tlib
  114.  
  115.  
  116. ###
  117. ### Optional features (see pcconf.h)
  118. ###
  119. # uncomment the definitions used
  120.  
  121. # overlays
  122. #OVERLAY = $(OBJ)\trampoli.obj ovlmgr.obj
  123. #OVERLAY_H = $(INCL)\trampoli.h
  124. #LINK_LIST = $(OVERLAYS)
  125. OVERLAY =
  126. OVERLAY_H =
  127. LINK_LIST = $(HOBJ)
  128.  
  129. # Fish's TERMLIB termcap library (see the rule below)
  130. #TERMLIB = $(LIB)\termlib.lib
  131. TERMLIB =
  132.  
  133. # high-quality BSD random number generation routines
  134. #RANDOM = $(OBJ)\random.obj
  135. RANDOM =
  136.  
  137.  
  138. ###
  139. ### Dependencies
  140. ###
  141. # nothing below this line should have to be changed
  142. # other things that must be reconfigured are in config.h and $(TARG)conf.h
  143.  
  144. # target prefix
  145. TARG    = pc
  146.  
  147. # object files for makedefs.exe
  148. MAKEOBJS = $(OBJ)\makedefs.obj $(OBJ)\monst.obj $(OBJ)\objects.obj
  149.  
  150. # object files for lev_comp.exe
  151. SPLEVOBJS = $(OBJ)\lev_comp.obj   $(OBJ)\lev_lex.obj  $(OBJ)\lev_main.obj \
  152.         $(OBJ)\monst.obj      $(OBJ)\objects.obj
  153.  
  154. # object files for termlib.lib
  155. TERMOBJS = $(OBJ)\tgetent.obj  $(OBJ)\tgetflag.obj  $(OBJ)\tgetnum.obj \
  156.        $(OBJ)\tgetstr.obj  $(OBJ)\tgoto.obj     $(OBJ)\tputs.obj \
  157.        $(OBJ)\isdigit.obj  $(OBJ)\fgetlr.obj
  158. TERMLIST = -+ $(OBJ)\tgetent.obj -+ $(OBJ)\tgetflag.obj -+ $(OBJ)\tgetnum.obj \
  159.        -+ $(OBJ)\tgetstr.obj -+ $(OBJ)\tgoto.obj    -+ $(OBJ)\tputs.obj \
  160.        -+ $(OBJ)\isdigit.obj -+ $(OBJ)\fgetlr.obj
  161.  
  162. # alloc.c is completely unnecessary for any PC NetHack executable.
  163. # panic.c is unnecessary for makedefs.exe and lev_comp.exe.
  164. # ioctl.c is unnecessary for nethack.exe.
  165.  
  166. ROOT =    $(OBJ)\main.obj    $(OBJ)\allmain.obj $(OBJ)\msdos.obj \
  167.     $(OBJ)\termcap.obj $(OBJ)\cmd.obj     $(OBJ)\hack.obj \
  168.     $(OVERLAY)
  169.  
  170. # the overlays -- the Microsoft Overlay Linker is limited to 63
  171.  
  172. OVL01 = $(OBJ)\decl.obj
  173. OVL02 = $(OBJ)\topl.obj
  174. OVL03 = $(OBJ)\pri.obj $(OBJ)\prisym.obj
  175. OVL04 = $(OBJ)\rnd.obj $(RANDOM)
  176. OVL05 = $(OBJ)\timeout.obj
  177. OVL06 = $(OBJ)\mon.obj $(OBJ)\exper.obj
  178. OVL07 = $(OBJ)\attrib.obj
  179. OVL08 = $(OBJ)\monst.obj $(OBJ)\mondata.obj
  180. OVL09 = $(OBJ)\monmove.obj $(OBJ)\track.obj
  181. OVL10 = $(OBJ)\dog.obj $(OBJ)\dogmove.obj
  182. OVL11 = $(OBJ)\makemon.obj
  183. OVL12 = $(OBJ)\do_name.obj $(OBJ)\getline.obj
  184. OVL13 = $(OBJ)\weapon.obj
  185. OVL14 = $(OBJ)\wield.obj
  186. OVL15 = $(OBJ)\invent.obj
  187. OVL16 = $(OBJ)\objects.obj
  188. OVL17 = $(OBJ)\mkobj.obj $(OBJ)\o_init.obj
  189. OVL18 = $(OBJ)\objnam.obj
  190. OVL19 = $(OBJ)\worn.obj
  191. OVL20 = $(OBJ)\do_wear.obj
  192. OVL21 = $(OBJ)\trap.obj
  193. OVL22 = $(OBJ)\dothrow.obj
  194. OVL23 = $(OBJ)\dokick.obj
  195. OVL24 = $(OBJ)\uhitm.obj
  196. OVL25 = $(OBJ)\mhitu.obj
  197. OVL26 = $(OBJ)\mcastu.obj
  198. OVL27 = $(OBJ)\mhitm.obj
  199. OVL28 = $(OBJ)\mthrowu.obj
  200. OVL29 = $(OBJ)\steal.obj
  201. OVL30 = $(OBJ)\priest.obj
  202. OVL31 = $(OBJ)\vault.obj
  203. OVL32 = $(OBJ)\shk.obj $(OBJ)\shknam.obj
  204. OVL33 = $(OBJ)\wizard.obj
  205. OVL34 = $(OBJ)\worm.obj
  206. OVL35 = $(OBJ)\were.obj
  207. OVL36 = $(OBJ)\demon.obj
  208. OVL37 = $(OBJ)\artifact.obj
  209. OVL38 = $(OBJ)\music.obj $(OBJ)\dbridge.obj
  210. OVL39 = $(OBJ)\sit.obj $(OBJ)\fountain.obj
  211. OVL40 = $(OBJ)\sounds.obj
  212. OVL41 = $(OBJ)\spell.obj
  213. OVL42 = $(OBJ)\read.obj
  214. OVL43 = $(OBJ)\potion.obj
  215. OVL44 = $(OBJ)\zap.obj
  216. OVL45 = $(OBJ)\eat.obj $(OBJ)\rumors.obj
  217. OVL46 = $(OBJ)\do.obj
  218. OVL47 = $(OBJ)\search.obj
  219. OVL48 = $(OBJ)\lock.obj
  220. OVL49 = $(OBJ)\apply.obj
  221. OVL50 = $(OBJ)\engrave.obj $(OBJ)\write.obj
  222. OVL51 = $(OBJ)\pray.obj
  223. OVL52 = $(OBJ)\options.obj
  224. OVL53 = $(OBJ)\pickup.obj
  225. OVL54 = $(OBJ)\polyself.obj
  226. OVL55 = $(OBJ)\u_init.obj
  227. OVL56 = $(OBJ)\extralev.obj
  228. OVL57 = $(OBJ)\mklev.obj $(OBJ)\mkroom.obj
  229. OVL58 = $(OBJ)\mkmaze.obj $(OBJ)\sp_lev.obj
  230. OVL59 = $(OBJ)\restore.obj $(OBJ)\save.obj $(OBJ)\bones.obj
  231. OVL60 = $(OBJ)\rip.obj $(OBJ)\topten.obj $(OBJ)\end.obj
  232. OVL61 = $(OBJ)\unix.obj $(OBJ)\tty.obj $(OBJ)\mail.obj
  233. OVL62 = $(OBJ)\pager.obj
  234. OVL63 = $(OBJ)\version.obj
  235.  
  236. # date.h dependencies
  237. VOBJ = $(ROOT)    $(OVL01) $(OVL02) $(OVL03) $(OVL04) $(OVL05) $(OVL06) $(OVL07) \
  238.        $(OVL08) $(OVL09) $(OVL10) $(OVL11) $(OVL12) $(OVL13) $(OVL14) $(OVL15) \
  239.        $(OVL16) $(OVL17) $(OVL18) $(OVL19) $(OVL20) $(OVL21) $(OVL22) $(OVL23) \
  240.        $(OVL24) $(OVL25) $(OVL26) $(OVL27) $(OVL28) $(OVL29) $(OVL30) $(OVL31) \
  241.        $(OVL32) $(OVL33) $(OVL34) $(OVL35) $(OVL36) $(OVL37) $(OVL38) $(OVL39) \
  242.        $(OVL40) $(OVL41) $(OVL42) $(OVL43) $(OVL44) $(OVL45) $(OVL46) $(OVL47) \
  243.        $(OVL48) $(OVL49) $(OVL50) $(OVL51) $(OVL52) $(OVL53) $(OVL54) $(OVL55) \
  244.        $(OVL56) $(OVL57) $(OVL58) $(OVL59) $(OVL60) $(OVL61) $(OVL62)
  245.  
  246. # nethack.exe dependencies, non-overlay link list
  247. HOBJ =    $(VOBJ) $(OVL63)
  248.  
  249. # overlay link list
  250. OVERLAYS = $(ROOT)    ($(OVL01)) ($(OVL02)) ($(OVL03)) ($(OVL04)) ($(OVL05)) \
  251.        ($(OVL06)) ($(OVL07)) ($(OVL08)) ($(OVL09)) ($(OVL10)) ($(OVL11)) \
  252.        ($(OVL12)) ($(OVL13)) ($(OVL14)) ($(OVL15)) ($(OVL16)) ($(OVL17)) \
  253.        ($(OVL18)) ($(OVL19)) ($(OVL20)) ($(OVL21)) ($(OVL22)) ($(OVL23)) \
  254.        ($(OVL24)) ($(OVL25)) ($(OVL26)) ($(OVL27)) ($(OVL28)) ($(OVL29)) \
  255.        ($(OVL30)) ($(OVL31)) ($(OVL32)) ($(OVL33)) ($(OVL34)) ($(OVL35)) \
  256.        ($(OVL36)) ($(OVL37)) ($(OVL38)) ($(OVL39)) ($(OVL40)) ($(OVL41)) \
  257.        ($(OVL42)) ($(OVL43)) ($(OVL44)) ($(OVL45)) ($(OVL46)) ($(OVL47)) \
  258.        ($(OVL48)) ($(OVL49)) ($(OVL50)) ($(OVL51)) ($(OVL52)) ($(OVL53)) \
  259.        ($(OVL54)) ($(OVL55)) ($(OVL56)) ($(OVL57)) ($(OVL58)) ($(OVL59)) \
  260.        ($(OVL60)) ($(OVL61)) ($(OVL62)) ($(OVL63))
  261.  
  262. # header dependencies
  263.  
  264. PCCONF_H   = $(INCL)\$(TARG)conf.h  $(INCL)\msdos.h    $(INCL)\system.h
  265. GLOBAL_H   = $(PCCONF_H)        $(INCL)\global.h    $(INCL)\coord.h
  266. CONFIG_H   = $(GLOBAL_H)        $(INCL)\config.h    $(INCL)\tradstdc.h
  267. TRAP_H       = $(INCL)\trap.h
  268. PERMONST_H = $(INCL)\permonst.h     $(INCL)\monattk.h    $(INCL)\monflag.h
  269. YOUPROP_H  = $(PERMONST_H)        $(INCL)\prop.h    $(INCL)\mondata.h \
  270.          $(INCL)\pm.h        $(INCL)\youprop.h
  271. YOU_H       = $(YOUPROP_H)        $(INCL)\attrib.h    $(INCL)\monst.h    \
  272.          $(INCL)\you.h
  273. DECL_H       = $(YOU_H)            $(INCL)\decl.h    $(INCL)\obj.h \
  274.          $(INCL)\onames.h        $(INCL)\spell.h    $(INCL)\color.h
  275. HACK_H       = $(CONFIG_H)        $(DECL_H)        $(INCL)\trap.h \
  276.          $(INCL)\flag.h        $(INCL)\gold.h    $(INCL)\mkroom.h \
  277.          $(INCL)\monsym.h        $(INCL)\objclass.h    $(INCL)\rm.h \
  278.          $(INCL)\hack.h        $(OVERLAY_H)
  279.  
  280. ## extern.h, and decl.h contain only external declarations.
  281. ##
  282. ## If anything in them changes, all other files involving the changed routines
  283. ## should be changed to reflect them.  Including them in their respective
  284. ## dependency lists will make sure everything is correct, but causes frequent
  285. ## near-total recompiles.  By leaving them out, we allow quicker testing of
  286. ## changes, but we presume the wiz knows to be circumspect.
  287.  
  288.  
  289. ###
  290. ### Main targets
  291. ###
  292.  
  293. $(GAME): $(GAMEFILE) $(GAMEDIR)\data $(GAMEDIR)\rumors
  294.  
  295. $(GAMEFILE): $(GAMEDIR) $(OBJ) $(HOBJ) $(TERMLIB) Makefile
  296.     @echo Linking...
  297.     if exist $@ del $@
  298.         $(LINK) $(C0) $(LINK_LIST),$@,,$(LIBS) $(TERMLIB) $(LFLAGS);
  299.     @echo NetHack is up to date.
  300.  
  301. all:    $(GAME) install
  302.     @echo Done.
  303.  
  304. $(OBJ):
  305.     mkdir $(OBJ)
  306.  
  307. $(GAMEDIR):
  308.     mkdir $(GAMEDIR)
  309.     mkdir $(GAMEDIR)\bones
  310.  
  311.  
  312. ###
  313. ### makedefs.exe
  314. ###
  315.  
  316. makedefs.exe:  $(MAKEOBJS)
  317.     @$(TLINK) $(TLFLAGS) $(C0) $(MAKEOBJS),$@,,$(LIBS);
  318.  
  319. $(OBJ)\makedefs.obj:  $(INCL)\config.h $(INCL)\permonst.h $(INCL)\objclass.h
  320.  
  321.  
  322. ###
  323. ### makedefs-generated files
  324. ###
  325.  
  326. # date.h should be remade any time any of the source is modified
  327. $(INCL)\date.h:     makedefs.exe $(VOBJ)
  328.     makedefs -v
  329.  
  330. $(INCL)\trap.h:     makedefs.exe
  331.     makedefs -t
  332.  
  333. $(INCL)\onames.h:    makedefs.exe
  334.     makedefs -o
  335.  
  336. $(INCL)\pm.h:        makedefs.exe
  337.     makedefs -p
  338.  
  339. $(GAMEDIR)\data:    makedefs.exe $(AUX)\data.base
  340.     makedefs -d
  341.     xcopy $(AUX)\data $(GAMEDIR)
  342.     del $(AUX)\data
  343.  
  344. $(GAMEDIR)\rumors:    makedefs.exe $(AUX)\rumors.tru $(AUX)\rumors.fal
  345.     makedefs -r
  346.     xcopy $(AUX)\rumors $(GAMEDIR)
  347.     del $(AUX)\rumors
  348.  
  349.  
  350. ###
  351. ### lev_comp.exe
  352. ###
  353.  
  354. lev_comp.exe:  $(SPLEVOBJS)
  355.     $(TLINK) $(TLFLAGS) $(C0) $(SPLEVOBJS),$@,,$(LIBS);
  356.  
  357. ## Note: UNIX yacc may generate a line reading "#", which Turbo C 2.0, despite
  358. ##     the manual's claims that it should be ignored, treats as an error.
  359. ##     You may have to remove such a line to compile lev_comp.c.
  360. $(OBJ)\lev_comp.obj:  $(HACK_H) $(INCL)\sp_lev.h
  361.     $(CC) $(CFLAGS) -A- $*.c
  362. $(OBJ)\lev_lex.obj:  $(INCL)\lev_comp.h $(HACK_H) $(INCL)\sp_lev.h
  363. $(OBJ)\lev_main.obj:  $(HACK_H) $(INCL)\sp_lev.h
  364.  
  365. # If you have yacc or lex programs, and make any changes,
  366. # add some .y.c and .l.c rules to your Make.ini.
  367. #
  368. #lev_comp.c:  lev_comp.y
  369. #lev_lex.c:  lev_comp.l
  370.  
  371.  
  372. ###
  373. ### termlib.lib
  374. ###
  375.  
  376. #$(TERMLIB): $(TERMOBJS)
  377. #    tlib $(TERMLIB) /C $(TERMLIST);
  378.  
  379.  
  380. ###
  381. ### Secondary targets
  382. ###
  383.  
  384. install:  $(GAMEDIR)\NetHack.cnf $(GAMEDIR)\record $(GAMEDIR)\termcap spec_levs
  385.     xcopy $(AUX)\*. $(GAMEDIR)
  386.     @echo Auxiliary files installed.
  387.  
  388. $(GAMEDIR)\NetHack.cnf:
  389.     xcopy $(OTHERS)\NetHack.cnf $(GAMEDIR)
  390. $(GAMEDIR)\record:
  391.     touch $(GAMEDIR)\record
  392. $(GAMEDIR)\termcap:
  393.     xcopy $(OTHERS)\termcap $(GAMEDIR)
  394.  
  395. spec_levs: $(AUX)\castle.des $(AUX)\endgame.des $(AUX)\tower.des lev_comp.exe
  396.     lev_comp $(AUX)\castle.des
  397.     lev_comp $(AUX)\endgame.des
  398.     lev_comp $(AUX)\tower.des
  399.     chdir $(AUX)
  400.     xcopy castle $(GAMEDIR)
  401.     del castle
  402.     xcopy endgame $(GAMEDIR)
  403.     del endgame
  404.     xcopy tower? $(GAMEDIR)
  405.     del tower?
  406.     chdir $(SRC)
  407.     @echo Special levels compiled.
  408.  
  409. clean:
  410.     del $(OBJ)\*.obj
  411.     rmdir $(OBJ)
  412.  
  413. spotless: clean
  414.     del $(INCL)\date.h
  415.     del $(INCL)\onames.h
  416.     del $(INCL)\pm.h
  417.     del makedefs.exe
  418.     if exist lev_comp.exe del lev_comp.exe
  419.  
  420.  
  421. ###
  422. ### Other dependencies
  423. ###
  424.  
  425. # OS-dependent filenames
  426. $(OBJ)\main.obj:     $(HACK_H) $(TARG)main.c
  427.     $(CC) $(CFLAGS) -o$@ $(TARG)main.c
  428.  
  429. $(OBJ)\tty.obj:      $(HACK_H) $(INCL)\func_tab.h $(TARG)tty.c
  430.     $(CC) $(CFLAGS) -o$@ $(TARG)tty.c
  431.  
  432. $(OBJ)\unix.obj:     $(HACK_H) $(TARG)unix.c
  433.     $(CC) $(CFLAGS) -o$@ $(TARG)unix.c
  434.  
  435. # GO AHEAD, DELETE THIS LINE
  436.  
  437. $(OBJ)\allmain.obj:    $(HACK_H)
  438. $(OBJ)\alloc.obj:    $(CONFIG_H)
  439. $(OBJ)\apply.obj:    $(HACK_H)   $(INCL)\edog.h
  440. $(OBJ)\artifact.obj:    $(HACK_H)   $(INCL)\artifact.h
  441. $(OBJ)\attrib.obj:    $(HACK_H)
  442. $(OBJ)\bones.obj:    $(HACK_H)
  443. $(OBJ)\cmd.obj:     $(HACK_H)   $(INCL)\func_tab.h
  444. $(OBJ)\dbridge.obj:    $(HACK_H)
  445. $(OBJ)\decl.obj:    $(HACK_H)
  446. $(OBJ)\demon.obj:    $(HACK_H)
  447. $(OBJ)\do.obj:        $(HACK_H)
  448. $(OBJ)\do_name.obj:    $(HACK_H)
  449. $(OBJ)\do_wear.obj:    $(HACK_H)
  450. $(OBJ)\dog.obj:     $(HACK_H)   $(INCL)\edog.h
  451. $(OBJ)\dogmove.obj:    $(HACK_H)   $(INCL)\mfndpos.h     $(INCL)\edog.h
  452. $(OBJ)\dokick.obj:    $(HACK_H)   $(INCL)\eshk.h
  453. $(OBJ)\dothrow.obj:    $(HACK_H)
  454. $(OBJ)\eat.obj:     $(HACK_H)
  455. $(OBJ)\end.obj:     $(HACK_H)   $(INCL)\eshk.h
  456. $(OBJ)\engrave.obj:    $(HACK_H)
  457. $(OBJ)\exper.obj:    $(HACK_H)
  458. $(OBJ)\extralev.obj:    $(HACK_H)
  459. $(OBJ)\fountain.obj:    $(HACK_H)
  460. $(OBJ)\getline.obj:    $(HACK_H)   $(INCL)\func_tab.h
  461. $(OBJ)\hack.obj:    $(HACK_H)
  462. $(OBJ)\invent.obj:    $(HACK_H)   $(INCL)\lev.h     $(INCL)\wseg.h
  463. $(OBJ)\ioctl.obj:    $(HACK_H)
  464. $(OBJ)\lev_comp.obj:    $(HACK_H)   $(INCL)\sp_lev.h
  465. $(OBJ)\lev_lex.obj:    $(HACK_H)   $(INCL)\sp_lev.h     $(INCL)\lev_comp.h
  466. $(OBJ)\lev_main.obj:    $(HACK_H)
  467. $(OBJ)\lock.obj:    $(HACK_H)
  468. $(OBJ)\makemon.obj:    $(HACK_H)
  469. $(OBJ)\mail.obj:    $(HACK_H)
  470. $(OBJ)\mcastu.obj:    $(HACK_H)
  471. $(OBJ)\mhitm.obj:    $(HACK_H)   $(INCL)\artifact.h
  472. $(OBJ)\mhitu.obj:    $(HACK_H)   $(INCL)\artifact.h     $(INCL)\edog.h
  473. $(OBJ)\mklev.obj:    $(HACK_H)
  474. $(OBJ)\mkmaze.obj:    $(HACK_H)
  475. $(OBJ)\mkobj.obj:    $(HACK_H)
  476. $(OBJ)\mkroom.obj:    $(HACK_H)
  477. $(OBJ)\mon.obj:     $(HACK_H)   $(INCL)\mfndpos.h     $(INCL)\wseg.h
  478. $(OBJ)\mondata.obj:    $(HACK_H)   $(INCL)\eshk.h     $(INCL)\epri.h
  479. $(OBJ)\monmove.obj:    $(HACK_H)   $(INCL)\mfndpos.h     $(INCL)\artifact.h
  480. $(OBJ)\monst.obj:    $(CONFIG_H) $(PERMONST_H)     $(INCL)\monsym.h \
  481.                     $(INCL)\eshk.h     $(INCL)\vault.h \
  482.                     $(INCL)\epri.h     $(INCL)\color.h
  483. $(OBJ)\msdos.obj:    $(HACK_H) msdos.c
  484.     $(CC) $(CFLAGS) -A- $*.c
  485. # set ANSI only off -- many MS-DOS specific things.
  486. $(OBJ)\mthrowu.obj:    $(HACK_H)
  487. $(OBJ)\music.obj:    $(HACK_H)
  488. $(OBJ)\o_init.obj:    $(HACK_H)
  489. $(OBJ)\objects.obj:    $(CONFIG_H) $(INCL)\obj.h     $(INCL)\objclass.h \
  490.                     $(INCL)\prop.h     $(INCL)\color.h
  491. $(OBJ)\objnam.obj:    $(HACK_H)
  492. $(OBJ)\options.obj:    $(HACK_H)
  493. $(OBJ)\pager.obj:    $(HACK_H)
  494. $(OBJ)\panic.obj:    $(CONFIG_H)
  495. $(OBJ)\pickup.obj:    $(HACK_H)
  496. $(OBJ)\polyself.obj:    $(HACK_H)
  497. $(OBJ)\potion.obj:    $(HACK_H)
  498. $(OBJ)\pray.obj:    $(HACK_H)
  499. $(OBJ)\pri.obj:     $(HACK_H)   $(INCL)\epri.h     $(INCL)\termcap.h
  500. $(OBJ)\priest.obj:    $(HACK_H)   $(INCL)\mfndpos.h     $(INCL)\eshk.h \
  501.                     $(INCL)\epri.h
  502. $(OBJ)\prisym.obj:    $(HACK_H)   $(INCL)\lev.h     $(INCL)\wseg.h
  503. $(OBJ)\random.obj:
  504. $(OBJ)\read.obj:    $(HACK_H)
  505. $(OBJ)\restore.obj:    $(HACK_H)   $(INCL)\lev.h     $(INCL)\wseg.h
  506. $(OBJ)\rip.obj:
  507.     $(CC) $(CFLAGS) -d- $*.c
  508. # must not merge strings, or the tombstone lines will overlap
  509. $(OBJ)\rnd.obj:     $(HACK_H)
  510. $(OBJ)\rumors.obj:    $(HACK_H)
  511. $(OBJ)\save.obj:    $(HACK_H)   $(INCL)\lev.h     $(INCL)\wseg.h
  512. $(OBJ)\search.obj:    $(HACK_H)   $(INCL)\artifact.h
  513. $(OBJ)\shk.obj:     $(HACK_H)   $(INCL)\eshk.h
  514. $(OBJ)\shknam.obj:    $(HACK_H)   $(INCL)\eshk.h
  515. $(OBJ)\sit.obj:     $(HACK_H)
  516. $(OBJ)\sounds.obj:    $(HACK_H)   $(INCL)\edog.h     $(INCL)\eshk.h
  517. $(OBJ)\sp_lev.obj:    $(HACK_H)   $(INCL)\sp_lev.h
  518. $(OBJ)\spell.obj:    $(HACK_H)
  519. $(OBJ)\steal.obj:    $(HACK_H)
  520. $(OBJ)\termcap.obj:    $(HACK_H)   $(INCL)\termcap.h
  521. $(OBJ)\timeout.obj:    $(HACK_H)
  522. $(OBJ)\topl.obj:    $(HACK_H)
  523. $(OBJ)\topten.obj:    $(HACK_H)
  524. $(OBJ)\track.obj:    $(HACK_H)
  525. $(OBJ)\trampoli.obj:    $(HACK_H)
  526. $(OBJ)\trap.obj:    $(HACK_H)   $(INCL)\edog.h
  527. $(OBJ)\u_init.obj:    $(HACK_H)
  528. $(OBJ)\uhitm.obj:    $(HACK_H)   $(INCL)\artifact.h
  529. $(OBJ)\vault.obj:    $(HACK_H)   $(INCL)\vault.h
  530. $(OBJ)\version.obj:    $(HACK_H)   $(INCL)\date.h     $(INCL)\patchlev.h
  531. $(OBJ)\weapon.obj:    $(HACK_H)
  532. $(OBJ)\were.obj:    $(HACK_H)
  533. $(OBJ)\wield.obj:    $(HACK_H)
  534. $(OBJ)\wizard.obj:    $(HACK_H)
  535. $(OBJ)\worm.obj:    $(HACK_H)   $(INCL)\wseg.h
  536. $(OBJ)\worn.obj:    $(HACK_H)
  537. $(OBJ)\write.obj:    $(HACK_H)
  538. $(OBJ)\zap.obj:     $(HACK_H)
  539.